home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / BKSUB.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-29  |  810b  |  33 lines

  1. PROCEDURE bksub(ne,nb,jf,k1,k2: integer; VAR c: glcarray;
  2.       nci,ncj,nck: integer);
  3. (* Programs using routine BKSUB must define the type
  4. TYPE
  5.    glcarray = ARRAY [1..nci,1..ncj,1..nck] OF real;
  6. in the main routine. *)
  7. VAR
  8.    nbf,kp,k,j,i,im: integer;
  9.    xx: real;
  10. BEGIN
  11.    nbf := ne-nb;
  12.    im := 1;
  13.    FOR k := k2 DOWNTO k1 DO BEGIN
  14.       IF (k = k1) THEN im := nbf+1;
  15.       kp := k+1;
  16.       FOR j := 1 TO nbf DO BEGIN
  17.          xx := c[j,jf,kp];
  18.          FOR i := im TO ne DO BEGIN
  19.             c[i,jf,k] := c[i,jf,k]-c[i,j,k]*xx
  20.          END
  21.       END
  22.    END;
  23.    FOR k := k1 TO k2 DO BEGIN
  24.       kp := k+1;
  25.       FOR i := 1 TO nb DO BEGIN
  26.          c[i,1,k] := c[i+nbf,jf,k]
  27.       END;
  28.       FOR i := 1 TO nbf DO BEGIN
  29.          c[i+nb,1,k] := c[i,jf,kp]
  30.       END
  31.    END
  32. END;
  33.